'\" t
.TH FTBENCH 1 "August 2023" "FreeType 2.13.2"
.
.
.SH NAME
.
ftbench \- benchmark some common FreeType paths
.
.
.SH SYNOPSIS
.
.B ftbench
.RI [ options ]
.I fontname
.
.
.SH DESCRIPTION
.
The
.B ftbench
tool measures performance of some common FreeType operations.
.
.PP
This program is part of the FreeType demos package.
.
.
.SH OPTIONS
.
.TP
.BI "\-a\ \(dq" "axis1\ axis2\ .\|.\|." \(dq
For Multiple Master, GX, or OpenType variation fonts, specify design
coordinates for each axis at start-up.
Ignored for all other font formats.
.
.TP
.BI \-b \ tests
Perform chosen tests:
.
.RS
.TS
tab (@);
rB l.
a@load glyphs (FT_Load_Glyph)
b@load advance widths (FT_Get_Advances)
c@render glyphs (FT_Render_Glyph)
d@load glyphs (FT_Get_Glyph)
e@get glyph indices (FT_Get_Char_Index)
f@iterate CMap (FT_Get_{First,Next}_Char)
g@open a new face (FT_New_Face or FT_New_Memory_Face)
h@embolden glyphs (FT_GlyphSlot_Embolden)
i@stroke glyphs (FT_Glyph_Stroke)
j@get glyph bboxes (FT_Outline_Get_BBox)
k@get glyph cboxes (FT_Glyph_Get_CBox)
l@open a new face and load glyphs
.TE
.RE
.
.IP
(default is
.BR abcdefghijkl ,
this is, all tests).
.
.IP
The number of used glyphs per test (within a single iteration) is given by
option
.BR \-i .
.
.TP
.B \-C
Compare with cached version if available.
.
.TP
.BI \-c \ N
Use at most
.I N
iterations for each test (0 means time limited).
.
.TP
.BI \-e \ E
Use charmap with index
.I E
instead of the default unicode.
.
.TP
.BI \-f \ L
Use
.B hexadecimal
(not decimal) number
.I L
as load flags (see the
.RB ` \%FT_\:LOAD_\:XXX '
macros in the FreeType reference).
.
.TP
.BI "\-H " name
Using CFF hinting engine
.IR name .
Available versions are depending on compilation options of FreeType;
call
.B ftbench
without an argument to get the actual list.
.
.TP
.BI "\-I " ver
Using TT interpreter version
.IR ver .
Available versions are depending on compilation options of FreeType;
call
.B ftbench
without an argument to get the actual list.
.
.TP
.BI \-i \ I-J
Forward or reverse range of glyph indices to use
(default is from 0 to the number of glyphs minus one).
.
.TP
.BI \-m \ M
Set maximum cache size to
.I M
KiByte (default is 1024).
.
.TP
.B \-p
Preload font file in memory (this is, testing
.B \%FT_\:New_\:Memory_\:Face
instead of
.BR \%FT_\:New_\:Face ).
.
.TP
.BI \-r \ R
Set render mode to
.IR R :
.
.RS
.TS
tab (@);
rB l.
0@normal
1@light
2@mono
3@horizontal LCD
4@vertical LCD
.TE
.RE
.
.IP
(default is 0).
This corresponds to the values of the
.RB ` \%FT_\:RENDER_\:MODE_\:XXX '
flags.
.
.TP
.BI \-s \ S
Use
.I S
ppem as face size (default is 10ppem).
If set to zero, don't call
.BR \%FT_\:Set_\:Pixel_\:Sizes .
Use value\ 0 with option
.RB ` "-f\ 1" '
or something similar to load the glyphs unscaled,
otherwise errors will show up.
.
.TP
.BI \-t \ T
Use at most
.I T
seconds per test (default is 2).
.
.TP
.B \-v
Show version.
.
.\" eof
